<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>sessionStorage</title>
</head>
<body>
    <h2>sessionStorage</h2>
    <button onclick="saveData()">点我保存一个数据</button>
    <button onclick="readData()">点我读取一个数据</button>
    <button onclick="deleteData()">点我删除一个数据</button>
    <button onclick="deleteAllData()">点我清空全部数据</button>

</body>
<script type="text/javascript">
    // sessionStorage相比localStorage区别在于每次关掉浏览器会自动清除掉sessionStorage中保存的数据

    // 声明一个对象，用于存储测试
    let p = {name:'张三',age:18}

    // 写
    function saveData(){
            // sessionStorage对象，属于window对象，用于操作浏览器本地存储中的数据
            // setItem()方法：往浏览器application中的sessionStorage存放数据（键值对类型）
            sessionStorage.setItem("msg","hello!");
            
            // 存放整型数据类型最终会被转换成String字符串类型
            sessionStorage.setItem("msg2",666);

            // 存放一个对象类型到本地存储中，需要使用stringify方法将对象转化为JSON字符串格式。
            sessionStorage.setItem("person",JSON.stringify(p));

            
    }

    // 读
    function readData(){
            // getItem()方法：读取本地存储中的数据
            console.log(sessionStorage.getItem("msg"));
            console.log(sessionStorage.getItem("msg2"));

            const result = sessionStorage.getItem("person");
            // 将JOSN字符串转化为js对象
            console.log(JSON.parse(result));

            // 如果没有这个数据，控制台输出null
            console.log(sessionStorage.getItem("msg3")); 

    // 删除
    }
    function deleteData(){
        // removeItem()方法：删除本地存储中的数据
        sessionStorage.removeItem("msg2");
    }

    // 清空
    function deleteAllData(){
        // clear()方法：清空本地存储中的所有数据
        sessionStorage.clear();
    }
</script>
</html>